package dp.memento.black;


/**
 * 
 备忘录角色对发起人（Originator）角色对象提供一个宽接口，
 而为其他对象提供一个窄接口。这样的实现叫做“黑箱实现”。
 *
 */
public class Client {
    public static void main(String[] args) {
        Originator o = new Originator();
        Caretaker c = new Caretaker();
        //改变负责人对象的状态
        o.setState("On");
        //创建备忘录对象，并将发起人对象的状态存储起来
        c.saveMemento(o.createMemento());
        //修改发起人对象的状态
        o.setState("Off");
        //恢复发起人对象的状态
        o.restoreMemento(c.retrieveMemento());
    }
}
